#ifndef __SINGLEDATA_HEAD__
#define __SINGLEDATA_HEAD__

#include <ros/ros.h>
#include  <map>
#include "common.h"
#include "../uiInclude/tabClass.h"
#include "structData.h"

using namespace std;
  class singleData    //实现单例模式的类  
  {  
  private:  
      singleData();  //私有的构造函数  
      
      map<TabSort,SData*> tabData_map_;
      SData* findMap(TabSort);
      ros::NodeHandle nh_;
      bool rosConn_;
      
      
       
  public:  
      ~singleData();
      static singleData* GetSingleData()
      {
          static singleData Instance;
          return &Instance;
      };
      void setNodeHandle(ros::NodeHandle& nh);
      ros::NodeHandle& getNh();
      void addTabData(TabSort tabsort,SData* data);
      void delTabData(TabSort tabsort);
      
      bool getRosConn();
  };

#define DataPtr (singleData::GetSingleData())


#endif
